package org.codeart.composite.example02;

/**
 * 文件夹+文件抽象类
 */
public abstract class Entry {

    /**
     * 获取文件名
     */
    public abstract String getName();

    /**
     * 获取文件大小
     */
    public abstract int getSize();

    /**
     * 添加文件或者文件夹的方法
     */
    public abstract Entry add(Entry entry);

    /**
     * 显示指定目录下的所有文件的信息
     */
    public abstract void list(String prefix);

    @Override
    public String toString() {
        return getName() + "(" + getSize() + ")";
    }
}
